home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / idlelib / configSectionNameDialog.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  4KB  |  96 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''
  5. Dialog that allows user to specify a new config file section name.
  6. Used to get new highlight theme and keybinding set names.
  7. '''
  8. from Tkinter import *
  9. import tkMessageBox
  10.  
  11. class GetCfgSectionNameDialog(Toplevel):
  12.     
  13.     def __init__(self, parent, title, message, usedNames):
  14.         '''
  15.         message - string, informational message to display
  16.         usedNames - list, list of names already in use for validity check
  17.         '''
  18.         Toplevel.__init__(self, parent)
  19.         self.configure(borderwidth = 5)
  20.         self.resizable(height = FALSE, width = FALSE)
  21.         self.title(title)
  22.         self.transient(parent)
  23.         self.grab_set()
  24.         self.protocol('WM_DELETE_WINDOW', self.Cancel)
  25.         self.parent = parent
  26.         self.message = message
  27.         self.usedNames = usedNames
  28.         self.result = ''
  29.         self.CreateWidgets()
  30.         self.withdraw()
  31.         self.update_idletasks()
  32.         self.messageInfo.config(width = self.frameMain.winfo_reqwidth())
  33.         self.geometry('+%d+%d' % (parent.winfo_rootx() + (parent.winfo_width() / 2 - self.winfo_reqwidth() / 2), parent.winfo_rooty() + (parent.winfo_height() / 2 - self.winfo_reqheight() / 2)))
  34.         self.deiconify()
  35.         self.wait_window()
  36.  
  37.     
  38.     def CreateWidgets(self):
  39.         self.name = StringVar(self)
  40.         self.fontSize = StringVar(self)
  41.         self.frameMain = Frame(self, borderwidth = 2, relief = SUNKEN)
  42.         self.frameMain.pack(side = TOP, expand = TRUE, fill = BOTH)
  43.         self.messageInfo = Message(self.frameMain, anchor = W, justify = LEFT, padx = 5, pady = 5, text = self.message)
  44.         entryName = Entry(self.frameMain, textvariable = self.name, width = 30)
  45.         entryName.focus_set()
  46.         self.messageInfo.pack(padx = 5, pady = 5)
  47.         entryName.pack(padx = 5, pady = 5)
  48.         frameButtons = Frame(self)
  49.         frameButtons.pack(side = BOTTOM, fill = X)
  50.         self.buttonOk = Button(frameButtons, text = 'Ok', width = 8, command = self.Ok)
  51.         self.buttonOk.grid(row = 0, column = 0, padx = 5, pady = 5)
  52.         self.buttonCancel = Button(frameButtons, text = 'Cancel', width = 8, command = self.Cancel)
  53.         self.buttonCancel.grid(row = 0, column = 1, padx = 5, pady = 5)
  54.  
  55.     
  56.     def NameOk(self):
  57.         nameOk = 1
  58.         name = self.name.get()
  59.         name.strip()
  60.         if not name:
  61.             tkMessageBox.showerror(title = 'Name Error', message = 'No name specified.', parent = self)
  62.             nameOk = 0
  63.         elif len(name) > 30:
  64.             tkMessageBox.showerror(title = 'Name Error', message = 'Name too long. It should be no more than ' + '30 characters.', parent = self)
  65.             nameOk = 0
  66.         elif name in self.usedNames:
  67.             tkMessageBox.showerror(title = 'Name Error', message = 'This name is already in use.', parent = self)
  68.             nameOk = 0
  69.         
  70.         return nameOk
  71.  
  72.     
  73.     def Ok(self, event = None):
  74.         if self.NameOk():
  75.             self.result = self.name.get().strip()
  76.             self.destroy()
  77.         
  78.  
  79.     
  80.     def Cancel(self, event = None):
  81.         self.result = ''
  82.         self.destroy()
  83.  
  84.  
  85. if __name__ == '__main__':
  86.     root = Tk()
  87.     
  88.     def run():
  89.         keySeq = ''
  90.         dlg = GetCfgSectionNameDialog(root, 'Get Name', 'The information here should need to be word wrapped. Test.')
  91.         print dlg.result
  92.  
  93.     Button(root, text = 'Dialog', command = run).pack()
  94.     root.mainloop()
  95.  
  96.